﻿//----------------------------------------------------------------
// Copyright (c) 2011-2013 
// All rights reserved.
// Author: Ben DaoWei 
// Contact: bendaowei@gmail.com
// Web Link: http://xnaeditor.codeplex.com
// ----------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine.Core;

namespace UnityEngine.Components
{
    public class GameSettings : UnityEngine.Core.Component
    {
        public GameSettings()
            : this(null)
        {
        }

        public GameSettings(GameObject gameObject)
            : base(gameObject)
        {
        }

        // graphics
        private bool _IsFullScreen = false;
        [Editable]
        public bool IsFullScreen
        {
            get
            {
                return _IsFullScreen;
            }
            set
            {
                _IsFullScreen = value;
            }
        }

        private int _ScreenWidth = 1280;
        [Editable]
        public int ScreenWidth
        {
            get
            {
                return _ScreenWidth;
            }
            set
            {
                _ScreenWidth = value;
            }
        }

        private int _ScreenHeight = 960;
        [Editable]
        public int ScreenHeight
        {
            get
            {
                return _ScreenHeight;
            }
            set
            {
                _ScreenHeight = value;
            }
        }

        private bool _IsMouseVisible = true;
        [Editable]
        public bool IsMouseVisible
        {
            get
            {
                return _IsMouseVisible;
            }
            set
            {
                _IsMouseVisible = value;
            }
        }

        // terrain
        public string TerrainConfigPath = null;
        public int DefaultResolution = 128;

        // fps
        private bool _DisplayFrameRate = false;
        [Editable]
        public bool DisplayFrameRate
        {
            get
            {
                return _DisplayFrameRate;
            }
            set
            {
                _DisplayFrameRate = value;
            }
        }

        private string _StartScenePath = "Sample.dotaX";
        public string StartScenePath
        {
            get
            {
                return _StartScenePath;
            }
            set
            {
                _StartScenePath = value;
            }
        }

        private string _Title = "DotaX";
        [Editable]
        public string Title
        {
            get
            {
                return _Title;
            }
            set
            {
                _Title = value;
            }
        }
    }
}
